<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>类的继承</title>
</head>
<body>
  <script>
    class Phone {
      //构造方法
      constructor (brand, price) {
        this.brand = brand
        this.price = price
      }

      //父类的成员属性
      calling () {
        console.log('我可以打电话!!')
      }

      static name = '牛'   // 添加静态成员
    }

    class SmartPhone extends Phone {
      //构造方法
      constructor (brand, price, color, size) {
        // super前面不能有this
        super(brand, price)// Phone.call(this, brand, price)
        this.color = color
        this.size = size
      }

      photo () {
        console.log('拍照')
      }

      playGame () {
        console.log('玩游戏')
      }

      calling () {
        // super.calling()   这个可以调用父类的方法，输出 ‘我可以打电话!!’
        console.log('我可以进行视频通话')
      }
    }

    const xiaomi = new SmartPhone('小米', 799, '黑色', '4.7inch')
    // console.log(xiaomi)
    xiaomi.calling()  // 我可以进行视频通话
    xiaomi.photo()   // 拍照
    xiaomi.playGame()   // 玩游戏
    console.log(Phone.name)   // 牛

    // 想访问父类里面的calling方法
    // let p = new Phone()
    // p.calling()   // 我可以打电话!!
  </script>
</body>
</html>